iT邦幫忙

2023 iThome 鐵人賽

DAY 22
0
Odoo

Odoo開發系列 第 22

[Day22] odoo14 - 排程(ir.corn)介紹

  • 分享至 

  • xImage
  •  

今天要介紹的是odoo中的排程功能,排程有兩種設定方式,一種是在系統上由使用者手動進行設置,另一種是由程式來進行預設,使用者僅需確認排程的執行時間是否正確,今天要介紹的會以後者為主。
這邊使用原生的排程來當作範例,範例如下:

<odoo>
    <record id="ir_cron_auth_signup_send_pending_user_reminder" model="ir.cron">
        <field name="name">Users: Notify About Unregistered Users</field>
        <field name="model_id" ref="model_res_users"/>
        <field name="state">code</field>
        <field name="code">model.send_unregistered_user_reminder()</field>
        <field name="user_id" ref="base.user_root" />
        <field name="interval_number">1</field>
        <field name="interval_type">days</field>
        <field name="numbercall">-1</field>
    </record>
</odoo>
  • id:排程的id,只要不重複即可。
  • model:固定設定為排程的model,ir.cron。
  • name:用來定義排程的名稱。
  • model_id:用來設定排程執行時要使用哪個model的資料。
  • code:用來設置此排程要執行的function名稱。
  • user_id:用來設置執行此排程的用戶。
  • interval_number、interval_type:用來設置排程觸發的間隔時間。interval_type可設置為minutes(分鐘)、hours(小時)、days(天)、weeks(周)、months(月)、year(年)。
  • numbercall:用來設置排程的觸發次數,若設定為-1時,此排程將無限制觸發次數。
  • doall:若設置為True,伺服器重啟後,系統便會自動執行執行時間已錯過的排程。

按照以上內容進行設置後,記得將檔案加在__menifest__.py的data中,才會在系統上看到此項排程的設置。

若想在系統上看到此項排程的設置,可以從設定/技術/安排的動作中來查看此項排程,如圖。
https://ithelp.ithome.com.tw/upload/images/20231007/20163263EssSo6h86F.png

關於排程的設定就先講到這邊,讓我們明天見。


上一篇
[Day21]odoo14 - mail寄送介紹
下一篇
[Day23] odoo14 - odoo與LINE Notify串接(一)
系列文
Odoo開發30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言